package com.sybil.ot.dao;

import com.sybil.ot.dominio.Evento;
import com.sybil.ot.dominio.EventoPK;
import com.sybil.ot.dominio.Paso;
import java.util.List;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

@Repository("eventoDAO")
public class EventoDAO extends AbstractDAO<Evento, EventoPK> {

   public EventoDAO() {
      super(Evento.class);
   }

   public Evento obtenerEvento(EventoPK llave) {
      return obtener(llave);
   }

   public Evento obtenerEvento(String flujo, String paso, String evento) {
      return obtener(new EventoPK(flujo, paso, evento));
   }

   public List<Evento> obtenerEventos() {
      return obtener();
   }

   public void guardarEvento(Evento evento) {
      guardar(evento);
   }

   public void editarEvento(Evento evento) {
      editar(evento);
   }

   public void eliminarEvento(Evento evento) {
      eliminar(evento);
   }

   public List<Evento> obtenerEventos(String claveFlujo, String clavePaso) {
      return obtener(Restrictions.eq("paso", new Paso(claveFlujo, clavePaso)));
   }
}
